This invention relates to a resource control in a computer system. The invention finds application, for example, to a multi-processor system in which first and second processing sets (each of which may comprise one or more processors) communicate with an I/O device bus. The invention finds particular but not exclusive application to fault tolerant computer systems where two or more processing sets need to communicate with an I/O device bus in lockstep.
In such a fault tolerant computer system, an aim is not only to be able to identify faults, but also to provide a structure which is able to provide a high degree of system availability and system resilience to internal or external disturbances. In order to provide high levels of system resilience to internal disturbances, such as an I/O device failure for example, it would be desirable for such systems automatically to control access to and from any device that might appear to be causing problems.
Automatic access control provides significant technical challenges in that the system has not only to monitor the devices in question to detect errors, but also has to provide an environment where the system as a whole can continue to operate despite a failure of one or more of the system components.
Accordingly, an aim of the present invention is to address these technical problems.
Aspects of the invention also provide significant advantages when employed in non-fault tolerant multi-processor computing systems where the processing sets operate independently. In this situation, each independent processing set can be allocated system devices which are mounted on a common bus. This arrangement enables the architecture of a multi-processor computing system to be simplified, and is made possible by the provision of a bridge which arbitrates between processing sets for usage of the system devices whilst also providing information to the processing sets regarding which of the devices, if any, are available for use.